<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // console.log(11);
    // console.log(222),
    // setTimeout(() => {
    //     console.log(333)
    // }, 3000);
    // console.log(444)

    // new 的时候是需要传入一个函数
    // resolve本身又是一个函数
    // reject又是一个函数


    new Promise((resolve, reject) => {
        setTimeout(() => {
            //  第一次网络请求
            resolve([1, 2, 3, 4, 5, 6])
        }, 1000)
    }).then((data) => {
        //  处理第一次请求成功后返回的数据
        const val = data.filter(d => {
            return d > 3
        }).map(x => {
            return x * 2
        })
        console.log(val)

        return new Promise(((resolve, reject) => {
            //  第二次网络请求
            setTimeout(() => {
                resolve([5, 4, 3, 2, 1])
            }, 1000)
        }))
    }).then((data) => {
        //  处理第二次请求成功后返回的数据
        data.forEach(x => console.log(x))

        return new Promise(((resolve, reject) => {
            setTimeout(() => {
                reject('失败数据')
            }, 1000)
        }))
    }).catch((data) => {
        console.log('处理' + data)
    })
</script>
</html>
